package com.uzai.console.service.cms;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.uzai.console.dto.cms.activity.*;
import com.uzai.console.vo.cms.activity.CmsActivityDetailInfoVo;
import com.uzai.console.vo.cms.activity.CmsActivityInfoVo;
import com.uzai.console.vo.cms.homepage.CmsHomePageUploadQrcodeVo;
import com.uzai.console.vo.cms.tbgoods.CmsTbGoodsInfoVo;
import org.springframework.web.multipart.MultipartFile;

/**
 * @author liuqi
 * @date 2021年08月13日 11:33
 */
public interface CmsActivityService {

    /**
     * 分页查询CMS活动列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @return CmsActivityInfoVo
     */
    Page<CmsActivityInfoVo> findCmsActivityList(CmsActivityQuery cmsActivityQuery);

    /**
     * 查询CMS活动信息
     * @author liuqi
     * @date 2021/8/13 11:38
     * @return CmsActivityInfoVo
     */
    CmsActivityInfoVo findCmsActivityInfo(CmsActivityIdDto cmsActivityIdDto);

    /**
     * 添加CMS活动信息
     * @author liuqi
     * @date 2021/8/13 11:38
     * @return null
     */
    void addCmsActivity(CmsActivityInfoDto cmsBaseInfoDto);

    /**
     * 修改CMS活动信息
     * @author liuqi
     * @date 2021/8/13 11:38
     * @return null
     */
     void updateCmsActivity(CmsActivityInfoDto cmsBaseInfoDto);

    /**
     * 删除CMS活动信息
     * @author liuqi
     * @date 2021/8/13 11:38
     * @return null
     */
    void deleteCmsActivity(CmsActivityIdListDto cmsActivityIdListDto);

    /**
     * 分页查询CMS活动展示位置信息列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @return CmsActivityInfoVo
     */
    Page<CmsActivityDetailInfoVo> findCmsActivityDetailList(CmsActivityDetailQuery cmsActivityDetailQuery);

    /**
     * 修改CMS活动展示位置详细信息
     * @author liuqi
     * @date 2021/8/13 11:38
     * @return null
     */
    void updateCmsActivityDetail(CmsActivityDetailInfoDto cmsActivityDetailInfoDto);

    /**
     * 分页查询活动关联的商品详情信息列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @return CmsActivityInfoVo
     */
    Page<CmsTbGoodsInfoVo> findCmsActivityGoodsInfoList(CmsActivityDetailQuery cmsActivityDetailQuery);

}
